namespace DigiOffice.Integration.TBIXchangeAzure.Messages
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type Environment() =
member val Title:String = null with get,set
member val Code:String = null with get,set
[<AllowNullLiteral>]
type Party() =
member val Title:String = null with get,set
member val Code:String = null with get,set
member val Version:String = null with get,set
member val Environment:Environment = null with get,set
[<AllowNullLiteral>]
type Header() =
member val MessageID:String = null with get,set
member val Timestamp:DateTime = new DateTime() with get,set
member val Sender:Party = null with get,set
member val Recipient:Party = null with get,set
member val RequestMessageID:Object = null with get,set
[<AllowNullLiteral>]
type Reference() =
member val GlobalID:String = null with get,set
member val Title:String = null with get,set
[<AllowNullLiteral>]
type Address() =
member val AddressLine1:String = null with get,set
member val AddressLine2:String = null with get,set
member val HouseNumber:String = null with get,set
member val HouseNumberSuffix:String = null with get,set
member val PostalCode:String = null with get,set
member val City:String = null with get,set
member val Country:Reference = null with get,set
[<AllowNullLiteral>]
type MailingAddress() =
member val POBox:String = null with get,set
member val PostalCode:String = null with get,set
member val City:String = null with get,set
member val Country:Reference = null with get,set
[<AllowNullLiteral>]
type Project() =
member val GlobalID:String = null with get,set
member val CreationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CreatedBy:String = null with get,set
member val ModifiedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val ModifiedBy:String = null with get,set
member val Code:String = null with get,set
member val Name:String = null with get,set
member val Description1:String = null with get,set
member val Description2:String = null with get,set
member val Address:Address = null with get,set
member val MailingAddress:MailingAddress = null with get,set
member val ProjectCategoryReference:Reference = null with get,set
member val ProjectTypeReference:Reference = null with get,set
member val ProjectStatusReference:Reference = null with get,set
member val StartDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val EndDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CompletionDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val Inactive:Boolean = new Boolean() with get,set
member val Website:String = null with get,set
member val IsTemplateProject:Boolean = new Boolean() with get,set
member val CustomFields:CustomField[] = [||] with get,set
[<AllowNullLiteral>]
type ProjectResponseMessage() =
member val Header:Header = null with get,set
member val ProjectReference:Reference = null with get,set
member val Project:Project = null with get,set
member val HousingTypes:HousingType[] = [||] with get,set
member val ConstructionBlocks:ConstructionBlock[] = [||] with get,set
member val ConstructionNumbers:ConstructionNumber[] = [||] with get,set
member val Documents:Document[] = [||] with get,set
member val PurchaseContracts:PurchaseContract[] = [||] with get,set
[<AllowNullLiteral>]
type ProjectRequestMessage() =
member val Header:Header = null with get,set
member val ProjectReference:Reference = null with get,set
member val IncludeHousingTypes:Boolean = new Boolean() with get,set
member val IncludeConstructionBlocks:Boolean = new Boolean() with get,set
member val IncludeConstructionNumbers:Boolean = new Boolean() with get,set
member val IncludeDocuments:Boolean = new Boolean() with get,set
member val IncludePurchaseContracts:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type ProcessProjectRequestMessage() =
member val InstanceId:Guid = new Guid() with get,set
member val ProjectRequest:ProjectRequestMessage = null with get,set
[<AllowNullLiteral>]
type CustomField() =
member val Name:String = null with get,set
member val Value:String = null with get,set
[<AllowNullLiteral>]
type HousingType() =
member val GlobalID:String = null with get,set
member val ProjectReference:Reference = null with get,set
member val Code:String = null with get,set
member val Description:String = null with get,set
member val CustomFields:CustomField[] = [||] with get,set
member val CreationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CreatedBy:String = null with get,set
member val ModifiedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val ModifiedBy:String = null with get,set
[<AllowNullLiteral>]
type ConstructionBlock() =
member val GlobalID:String = null with get,set
member val ProjectReference:Reference = null with get,set
member val Code:String = null with get,set
member val Description:String = null with get,set
member val CustomFields:CustomField[] = [||] with get,set
member val CreationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CreatedBy:String = null with get,set
member val ModifiedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val ModifiedBy:String = null with get,set
[<AllowNullLiteral>]
type ConstructionNumber() =
member val GlobalID:String = null with get,set
member val ProjectReference:Reference = null with get,set
member val HousingTypeReference:Reference = null with get,set
member val ConstructionBlockReference:Reference = null with get,set
member val Code:String = null with get,set
member val Description:String = null with get,set
member val Address:Address = null with get,set
member val RentalHouse:Boolean = new Boolean() with get,set
member val GuaranteeCertificateNumber:String = null with get,set
member val Inactive:Boolean = new Boolean() with get,set
member val CustomFields:CustomField[] = [||] with get,set
member val CreationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CreatedBy:String = null with get,set
member val ModifiedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val ModifiedBy:String = null with get,set
member val ViewingDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val ViewingDateSpecified:Boolean = new Boolean() with get,set
member val DeliveryDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val DeliveryDateSpecified:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type Document() =
member val ID:Guid = new Guid() with get,set
member val RootDocumentID:Guid = new Guid() with get,set
member val RegistrationprofileID:Guid = new Guid() with get,set
member val Title:String = null with get,set
member val FullTitle:String = null with get,set
member val Number:String = null with get,set
member val Version:String = null with get,set
member val ExternalNumber:String = null with get,set
member val ExternalVersion:String = null with get,set
member val InternalNumber:String = null with get,set
member val InternalInvoiceNumber:String = null with get,set
member val PersonID:Int32 = new Int32() with get,set
member val RelationID:Int32 = new Int32() with get,set
member val RelationTitle:String = null with get,set
member val ProjectID:Int32 = new Int32() with get,set
member val ProjectTitle:String = null with get,set
member val Extension:String = null with get,set
member val Date:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CommentsCount:Int32 = new Int32() with get,set
member val HasComments:Boolean = new Boolean() with get,set
member val HasPreview:Boolean = new Boolean() with get,set
member val ExtraField:String = null with get,set
member val IsFavorite:Boolean = new Boolean() with get,set
member val DocumentcategoryText:String = null with get,set
member val FileSize:Nullable<Int64> = new Nullable<Int64>() with get,set
member val FileDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val Hash:String = null with get,set
member val HashType:String = null with get,set
member val FileUrl:String = null with get,set
member val StandardDocumentUrl:String = null with get,set
member val IsCorporateIdentity:Boolean = new Boolean() with get,set
member val UserTitle:String = null with get,set
member val IsFrozen:Boolean = new Boolean() with get,set
member val InternalCompanyID:Int32 = new Int32() with get,set
member val DirectUrl:String = null with get,set
member val AllowDigitalSigningOnlyOnPrimaryVersions:Boolean = new Boolean() with get,set
member val IsPrimaryVersion:Boolean = new Boolean() with get,set
member val FileExtension:String = null with get,set
member val CustomProperties:Dictionary<String, Object> = new Dictionary<String, Object>() with get,set
[<AllowNullLiteral>]
type Relation() =
member val GlobalID:String = null with get,set
member val NameLine1:String = null with get,set
member val NameLine2:String = null with get,set
member val Address:Address = null with get,set
member val MailingAddress:MailingAddress = null with get,set
member val Telephone:String = null with get,set
member val Mobile:String = null with get,set
member val Email:String = null with get,set
member val IBAN:String = null with get,set
member val BankAccountNumber:String = null with get,set
member val Website:String = null with get,set
member val Inactive:Boolean = new Boolean() with get,set
member val CustomFields:CustomField[] = [||] with get,set
member val CreationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CreatedBy:String = null with get,set
member val ModifiedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val ModifiedBy:String = null with get,set
[<AllowNullLiteral>]
type PurchaseContract() =
member val GlobalID:String = null with get,set
member val Code:String = null with get,set
member val Description:String = null with get,set
member val ProjectReference:Reference = null with get,set
member val ProductCode:String = null with get,set
member val Relation:Relation = null with get,set
member val Inactive:Boolean = new Boolean() with get,set
member val CustomFields:CustomField[] = [||] with get,set
member val CreationDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CreatedBy:String = null with get,set
member val ModifiedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val ModifiedBy:String = null with get,set
F# ProcessProjectRequestMessage DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/ProcessProjectRequestMessage HTTP/1.1
Host: kpm_digiofficeapigateway.tbi.nl
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ProcessProjectRequestMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DigiOffice.Integration.TBIXchangeAzure.Messages">
<InstanceId>00000000-0000-0000-0000-000000000000</InstanceId>
<ProjectRequest>
<Header>
<MessageID>String</MessageID>
<Recipient>
<Code>String</Code>
<Environment>
<Code>String</Code>
<Title>String</Title>
</Environment>
<Title>String</Title>
<Version>String</Version>
</Recipient>
<RequestMessageID />
<Sender>
<Code>String</Code>
<Environment>
<Code>String</Code>
<Title>String</Title>
</Environment>
<Title>String</Title>
<Version>String</Version>
</Sender>
<Timestamp>0001-01-01T00:00:00</Timestamp>
</Header>
<IncludeConstructionBlocks>false</IncludeConstructionBlocks>
<IncludeConstructionNumbers>false</IncludeConstructionNumbers>
<IncludeDocuments>false</IncludeDocuments>
<IncludeHousingTypes>false</IncludeHousingTypes>
<IncludePurchaseContracts>false</IncludePurchaseContracts>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
</ProjectRequest>
</ProcessProjectRequestMessage>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ProjectResponseMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DigiOffice.Integration.TBIXchangeAzure.Messages">
<ConstructionBlocks>
<ConstructionBlock>
<Code>String</Code>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Description>String</Description>
<GlobalID>String</GlobalID>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
</ConstructionBlock>
</ConstructionBlocks>
<ConstructionNumbers>
<ConstructionNumber>
<Address>
<AddressLine1>String</AddressLine1>
<AddressLine2>String</AddressLine2>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<HouseNumber>String</HouseNumber>
<HouseNumberSuffix>String</HouseNumberSuffix>
<PostalCode>String</PostalCode>
</Address>
<Code>String</Code>
<ConstructionBlockReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ConstructionBlockReference>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<DeliveryDate>0001-01-01T00:00:00</DeliveryDate>
<DeliveryDateSpecified>false</DeliveryDateSpecified>
<Description>String</Description>
<GlobalID>String</GlobalID>
<GuaranteeCertificateNumber>String</GuaranteeCertificateNumber>
<HousingTypeReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</HousingTypeReference>
<Inactive>false</Inactive>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
<RentalHouse>false</RentalHouse>
<ViewingDate>0001-01-01T00:00:00</ViewingDate>
<ViewingDateSpecified>false</ViewingDateSpecified>
</ConstructionNumber>
</ConstructionNumbers>
<Documents>
<Document>
<Code>String</Code>
<ConstructionBlockReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ConstructionBlockReference>
<ConstructionNumberReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ConstructionNumberReference>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<DeletedDate>0001-01-01T00:00:00</DeletedDate>
<DeletedDateSpecified>false</DeletedDateSpecified>
<DocumentTypeReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</DocumentTypeReference>
<File>
<Content>String</Content>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<Name>String</Name>
<Size>0</Size>
<Type>String</Type>
</File>
<Floor>0</Floor>
<FloorSpecified>false</FloorSpecified>
<GlobalID>String</GlobalID>
<HousingTypeReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</HousingTypeReference>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<NewestVersion>false</NewestVersion>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
<RelationReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</RelationReference>
<RootDocumentID>String</RootDocumentID>
<Subject>String</Subject>
<VersionNumber>String</VersionNumber>
</Document>
</Documents>
<Header>
<MessageID>String</MessageID>
<Recipient>
<Code>String</Code>
<Environment>
<Code>String</Code>
<Title>String</Title>
</Environment>
<Title>String</Title>
<Version>String</Version>
</Recipient>
<RequestMessageID />
<Sender>
<Code>String</Code>
<Environment>
<Code>String</Code>
<Title>String</Title>
</Environment>
<Title>String</Title>
<Version>String</Version>
</Sender>
<Timestamp>0001-01-01T00:00:00</Timestamp>
</Header>
<HousingTypes>
<HousingType>
<Code>String</Code>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Description>String</Description>
<GlobalID>String</GlobalID>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
</HousingType>
</HousingTypes>
<Project>
<Address>
<AddressLine1>String</AddressLine1>
<AddressLine2>String</AddressLine2>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<HouseNumber>String</HouseNumber>
<HouseNumberSuffix>String</HouseNumberSuffix>
<PostalCode>String</PostalCode>
</Address>
<Code>String</Code>
<CompletionDate>0001-01-01T00:00:00</CompletionDate>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Description1>String</Description1>
<Description2>String</Description2>
<EndDate>0001-01-01T00:00:00</EndDate>
<GlobalID>String</GlobalID>
<Inactive>false</Inactive>
<IsTemplateProject>false</IsTemplateProject>
<MailingAddress>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<POBox>String</POBox>
<PostalCode>String</PostalCode>
</MailingAddress>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<Name>String</Name>
<ProjectCategoryReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectCategoryReference>
<ProjectStatusReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectStatusReference>
<ProjectTypeReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectTypeReference>
<StartDate>0001-01-01T00:00:00</StartDate>
<Website>String</Website>
</Project>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
<PurchaseContracts>
<PurchaseContract>
<Code>String</Code>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Description>String</Description>
<GlobalID>String</GlobalID>
<Inactive>false</Inactive>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<ProductCode>String</ProductCode>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
<Relation>
<Address>
<AddressLine1>String</AddressLine1>
<AddressLine2>String</AddressLine2>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<HouseNumber>String</HouseNumber>
<HouseNumberSuffix>String</HouseNumberSuffix>
<PostalCode>String</PostalCode>
</Address>
<BankAccountNumber>String</BankAccountNumber>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Email>String</Email>
<GlobalID>String</GlobalID>
<IBAN>String</IBAN>
<Inactive>false</Inactive>
<MailingAddress>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<POBox>String</POBox>
<PostalCode>String</PostalCode>
</MailingAddress>
<Mobile>String</Mobile>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<NameLine1>String</NameLine1>
<NameLine2>String</NameLine2>
<Telephone>String</Telephone>
<Website>String</Website>
</Relation>
</PurchaseContract>
</PurchaseContracts>
</ProjectResponseMessage>